"""
URL configuration for spider_site project.

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/5.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.http import JsonResponse
from django.shortcuts import render
from django.urls import path
from fingerprint.views import FingerprintView



def useragent(request):
    # print(dir(request))
    # print(request.headers)
    # print(request.META)

    ua = request.headers.get('User-Agent')
    if ua.startswith('python'):
        return JsonResponse({'msg': "禁止使用爬虫工具"})
    else:
        return JsonResponse({
            "User-Agent": ua,
        })

def cookie(request):
    # print(dir(request))
    # print(request.headers)
    # print(request.COOKIES)

    session = request.COOKIES.get('sessionid')
    if not session:
        return JsonResponse({'msg': "没有用户信息"})
    else:
        return JsonResponse({
            "session": session,
        })


def referer(request):

    # print(request.headers.get('Referer'))
    # print(request.META.get('HTTP_REFERER'))

    referer = request.headers.get('Referer')
    if not referer or not referer.startswith('http://127.0.0.1:8000'):
        return JsonResponse({'referer': "referer不合法"})
    else:
        return JsonResponse({
            "referer": referer,
        })

def js_reverse(request):
    return render(request, 'js_reverse.html')

urlpatterns = [
    path('admin/', admin.site.urls),
    path('useragent/', useragent),
    path('cookie/', cookie),
    path('referer/', referer),
    path('fingerprint/', FingerprintView.as_view(), name='fingerprint'),
    path('js_reverse/', js_reverse, name='js_reverse'),

]
